The present invention relates generally to tone generation apparatus of a waveform memory type, and more particularly to a tone generation apparatus in which waveform data are prestored in a NAND-type flash memory and the thus-prestored waveform data are reproduced while being read out from a waveform memory via a buffer.
Heretofore, there have been known tone generation apparatus, in which waveform data are prestored in a hard disk (HD) and then read out for audible reproduction by being read out from a buffer to a waveform memory while being read out from the hard disk to the buffer. Examples of such tone generation apparatus are disclosed in Japanese Patent Nos. 2671747 and 4089687. In such tone generation apparatus, where the waveform data are read out, in response to a tone generation instruction, from the hard disk to the waveform memory via the buffer and audibly reproduced, there would occur a delay in tone generation start timing, and thus, an arrangement is employed for pre-reading (pre-loading) a leading portion of the waveform data to the waveform data at the time of powering-on of the tone generation apparatus. Reproduction, of the pre-loaded data of the leading portion thus stored in the waveform memory is started immediately in response to a tone generation instruction. During the reproduction of the leading portion of the waveform data, a next portion of the waveform data following the leading portion is read out from the hard disk to the waveform memory via the buffer. After the reproduction of the leading portion of the waveform data is completed, the waveform data having already been read out to the waveform memory are reproduced, during which time another next portion of the waveform data is read out from the hard disk to the waveform memory via the buffer. Such operations are repeated to continue reproducing the waveform data. In the aforementioned manner, tone generation can be started with no delay in response to the tone generation instruction.
According to the aforementioned conventionally-known technique, a transfer request interrupt is issued to a CPU each time the waveform data (waveform sample data) of one cluster have been read out to the waveform memory (namely, each time the buffer gets empty). In response to such a transfer request interrupt, the CPU specifies another cluster of the hard disk to be read out and instructs a transfer section to transfer the other cluster from the hard disk to the buffer. Therefore, with the conventionally-known technique, an interrupt process by the CPU is essential.
Further, waveform memory tone generators using burst transfers have been known, one example of which is disclosed in Japanese Patent No 3163984. In the waveform memory tone generator, waveform samples read out from a and tones are generated by necessary waveform samples being selectively read out from the buffer memory. The readout of the waveform samples from the waveform memory to the buffer memory is executed by bust-transferring the waveform samples in units or blocks of a plurality of samples. Burst transferring the waveform samples like this can shorten a necessary access time.
In recent years, the NAND-type flash memory has been increasing in capacity and decreasing in cost, and attempts have been made to use NAND-type flash memories, together with hard disks, in a variety of devices. Although the NAND-type flash memory would take time to make immediate access to a page (corresponding to a cluster of the hard disk), it can achieve a rapid data transfer speed once sample readout is started. Further, with the NAND-type flash memory, error correction based on error correction code is essential.
With the aforementioned tone generation apparatus using the hard disk, an access speed to the hard disk would become a bottleneck so that the number of channels capable of simultaneously reproducing waveform sample data (i.e., generating tones based on waveform sample data) is limited, although there is a need for the tone generation apparatus to maximize the number of channels capable of simultaneously generating tones. One conceivable approach for maximizing the number of channels capable of simultaneously generating tones is to use a NAND-type flash memory in place of the hard disk. Because the NAND-type flash memory is much higher in access speed than the hard disk, it can greatly reduce a size of a cluster (page) (that is a minimum unit of waveform sample data), for example, to one-tenth or smaller. In such a case, however, the frequency of transfer request interrupts would greatly increase, for example, to ten times or more; namely, a load on the CPU would greatly increase.
However, with the conventionally-known technique, where the access speed to the hard disk would become a bottleneck, replacing the hard disk as-is with the NAND-type flash memory cannot be said to achieve a well-balanced design.